package com.yunhe.common.model.authority;

import com.yunhe.common.model.base.*;

import java.util.List;
import java.util.Map;
import java.util.Objects;

public class StationDTO {

    private Long id;
    private Long code;
    private String name;
    private String title;
    private Double ratedPower;
    private Double scale;
    private Double longitude;
    private Double latitude;
    private String address;
    private String description;
    private Double pvCapacity;
    private Double pvPower;
    private Double batteryCapacity;
    private Double batteryPower;
    private Long sn;
    private String productionTime;
    private Long productionRtime;
    private StationTypeDTO stationType;
    private StationStatusDTO stationStatus;
    private String stationStatusTime;
    private Long stationStatusRtime;
    private List<Double> coordinate;
    private Area province;
    private Area city;
    private Area district;
    private FirmDTO operator;
    private FirmDTO maintenance;
    private FirmDTO finalUser;
    private Boolean hasPrice;
    private List<String> photoFiles;
    private Boolean activity;
    private Boolean isWebUser;
    private StationPurposeDTO stationPurpose;
    private String label;
    private Map<String, Object> properties;
    private Map<String, Object> constructType;
    private String timeZone;
    private String currency;
    private List<ScenariosDTO> scenariosList;
    private String ownership;
    // 是否使用心跳逻辑
    private Boolean useHeartbeat;
    private Long heartbeatTimeout;
    //电站调试状态
    private Boolean debug;
    private String debugStartTime;
    private Long debugStartRtime;
    private Boolean hasBatteryHealthPlatform;
    private List<String> beeIds;


    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        StationDTO that = (StationDTO) o;
        return Objects.equals(id, that.id) &&
                Objects.equals(title, that.title);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, code, name, title, ratedPower, scale, longitude, latitude, address, description, pvCapacity, pvPower, batteryCapacity, batteryPower, sn, productionTime, productionRtime, stationType, stationStatus, stationStatusTime, stationStatusRtime, coordinate, province, city, district, operator, maintenance, finalUser, hasPrice, photoFiles, activity, isWebUser, stationPurpose, label, properties, constructType, timeZone, currency);
    }

    public Boolean getUseHeartbeat() {
        return useHeartbeat;
    }

    public void setUseHeartbeat(Boolean useHeartbeat) {
        this.useHeartbeat = useHeartbeat;
    }

    public String getTimeZone() {
        return timeZone;
    }

    public void setTimeZone(String timeZone) {
        this.timeZone = timeZone;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public Map<String, Object> getConstructType() {
        return constructType;
    }

    public void setConstructType(Map<String, Object> constructType) {
        this.constructType = constructType;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getCode() {
        return code;
    }

    public void setCode(Long code) {
        this.code = code;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public Double getRatedPower() {
        return ratedPower;
    }

    public void setRatedPower(Double ratedPower) {
        this.ratedPower = ratedPower;
    }

    public Double getScale() {
        return scale;
    }

    public void setScale(Double scale) {
        this.scale = scale;
    }

    public Double getLongitude() {
        return longitude;
    }

    public void setLongitude(Double longitude) {
        this.longitude = longitude;
    }

    public Double getLatitude() {
        return latitude;
    }

    public void setLatitude(Double latitude) {
        this.latitude = latitude;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Double getPvCapacity() {
        return pvCapacity;
    }

    public void setPvCapacity(Double pvCapacity) {
        this.pvCapacity = pvCapacity;
    }

    public Double getPvPower() {
        return pvPower;
    }

    public void setPvPower(Double pvPower) {
        this.pvPower = pvPower;
    }

    public Double getBatteryCapacity() {
        return batteryCapacity;
    }

    public void setBatteryCapacity(Double batteryCapacity) {
        this.batteryCapacity = batteryCapacity;
    }

    public Double getBatteryPower() {
        return batteryPower;
    }

    public void setBatteryPower(Double batteryPower) {
        this.batteryPower = batteryPower;
    }

    public Long getSn() {
        return sn;
    }

    public void setSn(Long sn) {
        this.sn = sn;
    }

    public StationTypeDTO getStationType() {
        return stationType;
    }

    public void setStationType(StationTypeDTO stationType) {
        this.stationType = stationType;
    }

    public StationStatusDTO getStationStatus() {
        return stationStatus;
    }

    public void setStationStatus(StationStatusDTO stationStatus) {
        this.stationStatus = stationStatus;
    }

    public String getProductionTime() {
        return productionTime;
    }

    public void setProductionTime(String productionTime) {
        this.productionTime = productionTime;
    }

    public Long getProductionRtime() {
        return productionRtime;
    }

    public void setProductionRtime(Long productionRtime) {
        this.productionRtime = productionRtime;
    }

    public String getStationStatusTime() {
        return stationStatusTime;
    }

    public void setStationStatusTime(String stationStatusTime) {
        this.stationStatusTime = stationStatusTime;
    }

    public Long getStationStatusRtime() {
        return stationStatusRtime;
    }

    public void setStationStatusRtime(Long stationStatusRtime) {
        this.stationStatusRtime = stationStatusRtime;
    }

    public Area getProvince() {
        return province;
    }

    public void setProvince(Area province) {
        this.province = province;
    }

    public Area getCity() {
        return city;
    }

    public void setCity(Area city) {
        this.city = city;
    }

    public Area getDistrict() {
        return district;
    }

    public void setDistrict(Area district) {
        this.district = district;
    }

    public FirmDTO getOperator() {
        return operator;
    }

    public void setOperator(FirmDTO operator) {
        this.operator = operator;
    }

    public FirmDTO getMaintenance() {
        return maintenance;
    }

    public void setMaintenance(FirmDTO maintenance) {
        this.maintenance = maintenance;
    }

    public FirmDTO getFinalUser() {
        return finalUser;
    }

    public void setFinalUser(FirmDTO finalUser) {
        this.finalUser = finalUser;
    }

    public Boolean getHasPrice() {
        return hasPrice;
    }

    public void setHasPrice(Boolean hasPrice) {
        this.hasPrice = hasPrice;
    }

    public List<String> getPhotoFiles() {
        return photoFiles;
    }

    public void setPhotoFiles(List<String> photoFiles) {
        this.photoFiles = photoFiles;
    }

    public Boolean getActivity() {
        return activity;
    }

    public void setActivity(Boolean activity) {
        this.activity = activity;
    }

    public Boolean getWebUser() {
        return isWebUser;
    }

    public void setWebUser(Boolean webUser) {
        isWebUser = webUser;
    }

    public StationPurposeDTO getStationPurpose() {
        return stationPurpose;
    }

    public void setStationPurpose(StationPurposeDTO stationPurpose) {
        this.stationPurpose = stationPurpose;
    }

    public String getLabel() {
        return label;
    }

    public void setLabel(String label) {
        this.label = label;
    }

    public Map<String, Object> getProperties() {
        return properties;
    }

    public void setProperties(Map<String, Object> properties) {
        this.properties = properties;
    }

    public List<Double> getCoordinate() {
        return coordinate;
    }

    public void setCoordinate(List<Double> coordinate) {
        this.coordinate = coordinate;
    }

    public List<ScenariosDTO> getScenariosList() {
        return scenariosList;
    }

    public void setScenariosList(List<ScenariosDTO> scenariosList) {
        this.scenariosList = scenariosList;
    }

    public String getOwnership() {
        return ownership;
    }

    public void setOwnership(String ownership) {
        this.ownership = ownership;
    }

    public Long getHeartbeatTimeout() {
        return heartbeatTimeout;
    }

    public void setHeartbeatTimeout(Long heartbeatTimeout) {
        this.heartbeatTimeout = heartbeatTimeout;
    }

    public Boolean getDebug() {
        return debug;
    }

    public void setDebug(Boolean debug) {
        this.debug = debug;
    }

    public String getDebugStartTime() {
        return debugStartTime;
    }

    public void setDebugStartTime(String debugStartTime) {
        this.debugStartTime = debugStartTime;
    }

    public Long getDebugStartRtime() {
        return debugStartRtime;
    }

    public void setDebugStartRtime(Long debugStartRtime) {
        this.debugStartRtime = debugStartRtime;
    }

    public Boolean getHasBatteryHealthPlatform() {
        return hasBatteryHealthPlatform;
    }

    public void setHasBatteryHealthPlatform(Boolean hasBatteryHealthPlatform) {
        this.hasBatteryHealthPlatform = hasBatteryHealthPlatform;
    }

    public List<String> getBeeIds() {
        return beeIds;
    }

    public void setBeeIds(List<String> beeIds) {
        this.beeIds = beeIds;
    }
}
